Портал Semantic MDM предоставляет возможность подключения внешних сервисов для получения данных о применяемости позиции во внешних системах.
Получение данных о внешней применяемости осуществляется посредством вызова GET-метода REST-сервиса. Ожидаемый MIME-тип возвращаемых данных - application/json. Данные о позиции будут передаваться в параметрах URL:
http(s)://<svc_url>?uuid=<идентификатор_позиции_в_M2>&transitionalKey=<переходной_ключ_1>&transitionalKey=<переходной_ключ_2>
В ответе от сервера необходимо предусмотреть HTTP-заголовок, разрешающий обрабатывать запрос с другого источника (CORS), иначе браузер развернет запрос согласно политике одного источника. Пример заголовка, если работаем со стендом m2-mdm.sdi-solution.ru:
Access-Control-Allow-Origin: http://m2-mdm.sdi-solution.ru
Access-Control-Allow-Credentials: true
Ответ ожидается в виде массива ExternalSystemApplicability:
export class ExternalSystemApplicability {
public id: string; _// идентификатор объекта во внешней системе
_ public displayName: **string**; _// наименование объекта во внешней системе
_ public detailsUrl?: **string**; _// адрес, по которому можно обратиться за расширенной информацией об объекте
_ public properties?: ApplicabilityProperty\[\]; _// атрибуты объекта_
}
export class ApplicabilityProperty {
public displayName: string;
public value?: string;
public children?: ApplicabilityProperty\[\];
}
Пример ожидаемого ответа в формате JSON:
[
{
"id": "id000000001",
"displayName": "External display name",
"detailsUrl": "[http://www.sdi-solution.ru/](http://www.sdi-solution.ru/)",
"properties": [
{
"displayName": "Остатки по складам",
"value": "780",
"children": [
{
"displayName": "Остатки на складе 1",
"children": [
{
"displayName": "Остатки на участке 1",
"value": "80"
},
{
"displayName": "Остатки на участке 2",
"value": "150"
}
]
},
{
"displayName": "Остатки на складе 2",
"value": "550"
}
]
},
{
"displayName": "Атрибут без вложенных со значением",
"value": "Значение"
},
{
"displayName": "Атрибут без вложенных и без значения"
}
]
}
]
Пример реализации сервиса внешней применяемости доступен по ссылке external-applicability-example-svc.zip